home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 4 / ETO Development Tools 4.iso / Tools - Objects / MacApp / MacApp 2.0.1 / MacApp CD Release / MacApp® 2.0.1 Tutorial / Chapter 10 / UIconEdit.p < prev   
Text File  |  1990-10-25  |  3KB  |  129 lines

  1. {Copyright © 1989 by Apple Computer, Inc.  All rights reserved.}
  2.  
  3. UNIT UIconEdit;
  4.  
  5.  
  6. INTERFACE
  7.  
  8.  
  9. USES
  10.     { • MacApp }
  11.     UMacApp,
  12.     
  13.     { • Toolbox }
  14.     ToolUtils;
  15.     
  16.     
  17. CONST kSignature = 'ICED';
  18.       kFileType = 'IDOC'; 
  19.  
  20.  
  21. TYPE 
  22.     TIconApplication = OBJECT(TApplication)
  23.  
  24.         PROCEDURE TIconApplication.IIconApplication(iconFileType: OSType);
  25.             {Initializes the application and globals.}
  26.  
  27.         FUNCTION  TIconApplication.DoMakeDocument(itsCmdNumber: CmdNumber): TDocument; OVERRIDE;
  28.             { Creates a document of type TIconDocument and returns a reference to it.}
  29.  
  30.     END;
  31.  
  32.  
  33.     TIconDocument = OBJECT(TDocument)
  34.     
  35.         fIconBitMap:        TIconBitMap;        { The document’s icon object.             }
  36.  
  37.         PROCEDURE TIconDocument.IIconDocument;
  38.             { Initializes the document. }
  39.  
  40.         PROCEDURE TIconDocument.Free; OVERRIDE;
  41.             { Frees allocated memory when the document is closed. }
  42.  
  43.         PROCEDURE TIconDocument.DoInitialState; OVERRIDE;
  44.             { Sets the document's data to represent a "new" document. }
  45.  
  46.         PROCEDURE TIconDocument.DoMakeViews (forPrinting: BOOLEAN); OVERRIDE;
  47.             { Creates the window and view objects when an icon document is opened.}
  48.  
  49.         PROCEDURE TIconDocument.Fields (PROCEDURE DoToField (fieldName: Str255;
  50.                                                                 fieldAddr: Ptr;
  51.                                                                 fieldType: INTEGER)); OVERRIDE;
  52.  
  53.     END;
  54.     
  55.  
  56.  
  57.  
  58.     TIconView = OBJECT(TView)
  59.  
  60.         fMagnification:        INTEGER;            { No. of times to magnify the icon.        }
  61.         fIconDocument:        TIconDocument;        { Reference to the view's icon document.}
  62.  
  63.         PROCEDURE TIconView.IRes (itsDocument: TDocument; itsSuperView: TView;
  64.                                       VAR itsParams: Ptr); OVERRIDE;
  65.             { Initializes the view from a resource template. }
  66.  
  67.         PROCEDURE TIconView.CalcMinSize (VAR minSize: VPoint); OVERRIDE;
  68.             { Returns the view's minimum size. }
  69.  
  70.         PROCEDURE TIconView.Draw (area: Rect); OVERRIDE;
  71.             { Draws this view. }
  72.  
  73.         PROCEDURE TIconView.Fields (PROCEDURE DoToField (fieldName: Str255;
  74.                                                             fieldAddr: Ptr;
  75.                                                             fieldType: INTEGER)); OVERRIDE;
  76.  
  77.     END;
  78.  
  79.  
  80.  
  81.     
  82.     TIconBitMap = OBJECT(TObject)
  83.  
  84.         fDataHandle:    Handle;                { Handle to the icon's bit map.            }
  85.  
  86.         PROCEDURE TIconBitMap.IIconBitMap;
  87.             { Initialize the IconBitMap object and allocate space for its data. }
  88.  
  89.         PROCEDURE TIconBitMap.Free; OVERRIDE;
  90.             { Free the icon's bit map. }
  91.             
  92.         PROCEDURE TIconBitMap.SetIconBitMap(theBitMap : Handle);
  93.             { Set the contents of the icon bit map to the new bit map. }
  94.             
  95.         PROCEDURE TIconBitMap.Clear;
  96.             { Clear the icon map by setting its bits to zero. }
  97.             
  98.         PROCEDURE TIconBitMap.Invert;
  99.             { Invert the icon's bit map. }
  100.             
  101.         PROCEDURE TIconBitMap.IconBitToWordBit (iconBit: Point; VAR word, bit: INTEGER);
  102.             { Convert icon bit numbers to the corresponding word and bit number. }
  103.             
  104.         FUNCTION TIconBitMap.GetBit(iconBit: Point): BOOLEAN;
  105.             { Return the state of the given bit. }
  106.             
  107.         PROCEDURE TIconBitMap.SetBit(iconBit: Point; turnBitOn: BOOLEAN);
  108.             { Set the state of the given bit as indicated. }
  109.  
  110.         PROCEDURE TIconBitMap.Draw (area: Rect);
  111.             { Draw the icon's bit map. }
  112.             
  113.         FUNCTION TIconBitMap.Copy: TIconBitMap;
  114.             { Create a new icon object which is a copy of itself. }
  115.             
  116.         PROCEDURE TIconBitMap.CopyDataTo (anIcon: TIconBitMap);
  117.             { Copy icon data to an existing icon object. }
  118.             
  119.         PROCEDURE TIconBitMap.Fields (PROCEDURE DoToField (fieldName: Str255;
  120.                                                               fieldAddr: Ptr;
  121.                                                               fieldType: INTEGER)); OVERRIDE;
  122.     END;
  123.  
  124.  
  125. IMPLEMENTATION
  126.  
  127.     {$I UIconEdit.inc1.p}
  128.  
  129. END.